/**
 * <copyright>
 * </copyright>
 *

 */
package hu.bme.mit.androtext.androres.androResDsl.impl;

import hu.bme.mit.androtext.androres.androResDsl.AndroResDslFactory;
import hu.bme.mit.androtext.androres.androResDsl.AndroResDslPackage;
import hu.bme.mit.androtext.androres.androResDsl.AndroResModelRoot;
import hu.bme.mit.androtext.androres.androResDsl.ArrayResource;
import hu.bme.mit.androtext.androres.androResDsl.BitmapDrawableResource;
import hu.bme.mit.androtext.androres.androResDsl.BooleanResource;
import hu.bme.mit.androtext.androres.androResDsl.ColorResource;
import hu.bme.mit.androtext.androres.androResDsl.DimensionResource;
import hu.bme.mit.androtext.androres.androResDsl.DrawableResource;
import hu.bme.mit.androtext.androres.androResDsl.IntegerArrayEntry;
import hu.bme.mit.androtext.androres.androResDsl.IntegerArrayResource;
import hu.bme.mit.androtext.androres.androResDsl.IntegerResource;
import hu.bme.mit.androtext.androres.androResDsl.Resource;
import hu.bme.mit.androtext.androres.androResDsl.StringArrayEntry;
import hu.bme.mit.androtext.androres.androResDsl.StringArrayResource;
import hu.bme.mit.androtext.androres.androResDsl.StringResource;
import hu.bme.mit.androtext.androres.androResDsl.TransitionDrawableResource;

import hu.bme.mit.androtext.common.commons.CommonsPackage;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

import org.eclipse.emf.ecore.impl.EPackageImpl;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model <b>Package</b>.
 * <!-- end-user-doc -->
 * @generated
 */
public class AndroResDslPackageImpl extends EPackageImpl implements AndroResDslPackage
{
  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass androResModelRootEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass resourceEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass stringResourceEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass integerResourceEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass booleanResourceEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass colorResourceEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass dimensionResourceEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass arrayResourceEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass integerArrayResourceEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass integerArrayEntryEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass stringArrayResourceEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass stringArrayEntryEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass drawableResourceEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass bitmapDrawableResourceEClass = null;

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private EClass transitionDrawableResourceEClass = null;

  /**
   * Creates an instance of the model <b>Package</b>, registered with
   * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
   * package URI value.
   * <p>Note: the correct way to create the package is via the static
   * factory method {@link #init init()}, which also performs
   * initialization of the package, or returns the registered package,
   * if one already exists.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.eclipse.emf.ecore.EPackage.Registry
   * @see hu.bme.mit.androtext.androres.androResDsl.AndroResDslPackage#eNS_URI
   * @see #init()
   * @generated
   */
  private AndroResDslPackageImpl()
  {
    super(eNS_URI, AndroResDslFactory.eINSTANCE);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private static boolean isInited = false;

  /**
   * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
   * 
   * <p>This method is used to initialize {@link AndroResDslPackage#eINSTANCE} when that field is accessed.
   * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see #eNS_URI
   * @see #createPackageContents()
   * @see #initializePackageContents()
   * @generated
   */
  public static AndroResDslPackage init()
  {
    if (isInited) return (AndroResDslPackage)EPackage.Registry.INSTANCE.getEPackage(AndroResDslPackage.eNS_URI);

    // Obtain or create and register package
    AndroResDslPackageImpl theAndroResDslPackage = (AndroResDslPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof AndroResDslPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new AndroResDslPackageImpl());

    isInited = true;

    // Initialize simple dependencies
    CommonsPackage.eINSTANCE.eClass();

    // Create package meta-data objects
    theAndroResDslPackage.createPackageContents();

    // Initialize created meta-data
    theAndroResDslPackage.initializePackageContents();

    // Mark meta-data to indicate it can't be changed
    theAndroResDslPackage.freeze();

  
    // Update the registry and return the package
    EPackage.Registry.INSTANCE.put(AndroResDslPackage.eNS_URI, theAndroResDslPackage);
    return theAndroResDslPackage;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getAndroResModelRoot()
  {
    return androResModelRootEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getAndroResModelRoot_Name()
  {
    return (EAttribute)androResModelRootEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getAndroResModelRoot_Imports()
  {
    return (EReference)androResModelRootEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getAndroResModelRoot_Resources()
  {
    return (EReference)androResModelRootEClass.getEStructuralFeatures().get(2);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getResource()
  {
    return resourceEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getResource_Name()
  {
    return (EAttribute)resourceEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getStringResource()
  {
    return stringResourceEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getStringResource_Value()
  {
    return (EAttribute)stringResourceEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getIntegerResource()
  {
    return integerResourceEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getIntegerResource_Value()
  {
    return (EAttribute)integerResourceEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getBooleanResource()
  {
    return booleanResourceEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getBooleanResource_Value()
  {
    return (EAttribute)booleanResourceEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getColorResource()
  {
    return colorResourceEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getColorResource_Value()
  {
    return (EAttribute)colorResourceEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getDimensionResource()
  {
    return dimensionResourceEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getDimensionResource_Value()
  {
    return (EAttribute)dimensionResourceEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getArrayResource()
  {
    return arrayResourceEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getIntegerArrayResource()
  {
    return integerArrayResourceEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getIntegerArrayResource_Entries()
  {
    return (EReference)integerArrayResourceEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getIntegerArrayEntry()
  {
    return integerArrayEntryEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getIntegerArrayEntry_Name()
  {
    return (EAttribute)integerArrayEntryEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getIntegerArrayEntry_Value()
  {
    return (EAttribute)integerArrayEntryEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getStringArrayResource()
  {
    return stringArrayResourceEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getStringArrayResource_Entries()
  {
    return (EReference)stringArrayResourceEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getStringArrayEntry()
  {
    return stringArrayEntryEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getStringArrayEntry_Name()
  {
    return (EAttribute)stringArrayEntryEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getStringArrayEntry_Value()
  {
    return (EAttribute)stringArrayEntryEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getDrawableResource()
  {
    return drawableResourceEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getBitmapDrawableResource()
  {
    return bitmapDrawableResourceEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EAttribute getBitmapDrawableResource_Filename()
  {
    return (EAttribute)bitmapDrawableResourceEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EClass getTransitionDrawableResource()
  {
    return transitionDrawableResourceEClass;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getTransitionDrawableResource_From()
  {
    return (EReference)transitionDrawableResourceEClass.getEStructuralFeatures().get(0);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public EReference getTransitionDrawableResource_To()
  {
    return (EReference)transitionDrawableResourceEClass.getEStructuralFeatures().get(1);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public AndroResDslFactory getAndroResDslFactory()
  {
    return (AndroResDslFactory)getEFactoryInstance();
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private boolean isCreated = false;

  /**
   * Creates the meta-model objects for the package.  This method is
   * guarded to have no affect on any invocation but its first.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void createPackageContents()
  {
    if (isCreated) return;
    isCreated = true;

    // Create classes and their features
    androResModelRootEClass = createEClass(ANDRO_RES_MODEL_ROOT);
    createEAttribute(androResModelRootEClass, ANDRO_RES_MODEL_ROOT__NAME);
    createEReference(androResModelRootEClass, ANDRO_RES_MODEL_ROOT__IMPORTS);
    createEReference(androResModelRootEClass, ANDRO_RES_MODEL_ROOT__RESOURCES);

    resourceEClass = createEClass(RESOURCE);
    createEAttribute(resourceEClass, RESOURCE__NAME);

    stringResourceEClass = createEClass(STRING_RESOURCE);
    createEAttribute(stringResourceEClass, STRING_RESOURCE__VALUE);

    integerResourceEClass = createEClass(INTEGER_RESOURCE);
    createEAttribute(integerResourceEClass, INTEGER_RESOURCE__VALUE);

    booleanResourceEClass = createEClass(BOOLEAN_RESOURCE);
    createEAttribute(booleanResourceEClass, BOOLEAN_RESOURCE__VALUE);

    colorResourceEClass = createEClass(COLOR_RESOURCE);
    createEAttribute(colorResourceEClass, COLOR_RESOURCE__VALUE);

    dimensionResourceEClass = createEClass(DIMENSION_RESOURCE);
    createEAttribute(dimensionResourceEClass, DIMENSION_RESOURCE__VALUE);

    arrayResourceEClass = createEClass(ARRAY_RESOURCE);

    integerArrayResourceEClass = createEClass(INTEGER_ARRAY_RESOURCE);
    createEReference(integerArrayResourceEClass, INTEGER_ARRAY_RESOURCE__ENTRIES);

    integerArrayEntryEClass = createEClass(INTEGER_ARRAY_ENTRY);
    createEAttribute(integerArrayEntryEClass, INTEGER_ARRAY_ENTRY__NAME);
    createEAttribute(integerArrayEntryEClass, INTEGER_ARRAY_ENTRY__VALUE);

    stringArrayResourceEClass = createEClass(STRING_ARRAY_RESOURCE);
    createEReference(stringArrayResourceEClass, STRING_ARRAY_RESOURCE__ENTRIES);

    stringArrayEntryEClass = createEClass(STRING_ARRAY_ENTRY);
    createEAttribute(stringArrayEntryEClass, STRING_ARRAY_ENTRY__NAME);
    createEAttribute(stringArrayEntryEClass, STRING_ARRAY_ENTRY__VALUE);

    drawableResourceEClass = createEClass(DRAWABLE_RESOURCE);

    bitmapDrawableResourceEClass = createEClass(BITMAP_DRAWABLE_RESOURCE);
    createEAttribute(bitmapDrawableResourceEClass, BITMAP_DRAWABLE_RESOURCE__FILENAME);

    transitionDrawableResourceEClass = createEClass(TRANSITION_DRAWABLE_RESOURCE);
    createEReference(transitionDrawableResourceEClass, TRANSITION_DRAWABLE_RESOURCE__FROM);
    createEReference(transitionDrawableResourceEClass, TRANSITION_DRAWABLE_RESOURCE__TO);
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  private boolean isInitialized = false;

  /**
   * Complete the initialization of the package and its meta-model.  This
   * method is guarded to have no affect on any invocation but its first.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public void initializePackageContents()
  {
    if (isInitialized) return;
    isInitialized = true;

    // Initialize package
    setName(eNAME);
    setNsPrefix(eNS_PREFIX);
    setNsURI(eNS_URI);

    // Obtain other dependent packages
    CommonsPackage theCommonsPackage = (CommonsPackage)EPackage.Registry.INSTANCE.getEPackage(CommonsPackage.eNS_URI);

    // Create type parameters

    // Set bounds for type parameters

    // Add supertypes to classes
    stringResourceEClass.getESuperTypes().add(this.getResource());
    integerResourceEClass.getESuperTypes().add(this.getResource());
    booleanResourceEClass.getESuperTypes().add(this.getResource());
    colorResourceEClass.getESuperTypes().add(this.getResource());
    dimensionResourceEClass.getESuperTypes().add(this.getResource());
    arrayResourceEClass.getESuperTypes().add(this.getResource());
    integerArrayResourceEClass.getESuperTypes().add(this.getArrayResource());
    stringArrayResourceEClass.getESuperTypes().add(this.getArrayResource());
    drawableResourceEClass.getESuperTypes().add(this.getResource());
    bitmapDrawableResourceEClass.getESuperTypes().add(this.getDrawableResource());
    transitionDrawableResourceEClass.getESuperTypes().add(this.getDrawableResource());

    // Initialize classes and features; add operations and parameters
    initEClass(androResModelRootEClass, AndroResModelRoot.class, "AndroResModelRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getAndroResModelRoot_Name(), ecorePackage.getEString(), "name", null, 0, 1, AndroResModelRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getAndroResModelRoot_Imports(), theCommonsPackage.getImport(), null, "imports", null, 0, -1, AndroResModelRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getAndroResModelRoot_Resources(), this.getResource(), null, "resources", null, 0, -1, AndroResModelRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(resourceEClass, Resource.class, "Resource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getResource_Name(), ecorePackage.getEString(), "name", null, 0, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(stringResourceEClass, StringResource.class, "StringResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getStringResource_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(integerResourceEClass, IntegerResource.class, "IntegerResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getIntegerResource_Value(), ecorePackage.getEInt(), "value", null, 0, 1, IntegerResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(booleanResourceEClass, BooleanResource.class, "BooleanResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getBooleanResource_Value(), ecorePackage.getEString(), "value", null, 0, 1, BooleanResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(colorResourceEClass, ColorResource.class, "ColorResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getColorResource_Value(), ecorePackage.getEString(), "value", null, 0, 1, ColorResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(dimensionResourceEClass, DimensionResource.class, "DimensionResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getDimensionResource_Value(), ecorePackage.getEString(), "value", null, 0, 1, DimensionResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(arrayResourceEClass, ArrayResource.class, "ArrayResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

    initEClass(integerArrayResourceEClass, IntegerArrayResource.class, "IntegerArrayResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getIntegerArrayResource_Entries(), this.getIntegerArrayEntry(), null, "entries", null, 0, -1, IntegerArrayResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(integerArrayEntryEClass, IntegerArrayEntry.class, "IntegerArrayEntry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getIntegerArrayEntry_Name(), ecorePackage.getEString(), "name", null, 0, 1, IntegerArrayEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getIntegerArrayEntry_Value(), ecorePackage.getEInt(), "value", null, 0, 1, IntegerArrayEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(stringArrayResourceEClass, StringArrayResource.class, "StringArrayResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getStringArrayResource_Entries(), this.getStringArrayEntry(), null, "entries", null, 0, -1, StringArrayResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(stringArrayEntryEClass, StringArrayEntry.class, "StringArrayEntry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getStringArrayEntry_Name(), ecorePackage.getEString(), "name", null, 0, 1, StringArrayEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getStringArrayEntry_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringArrayEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(drawableResourceEClass, DrawableResource.class, "DrawableResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

    initEClass(bitmapDrawableResourceEClass, BitmapDrawableResource.class, "BitmapDrawableResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getBitmapDrawableResource_Filename(), ecorePackage.getEString(), "filename", null, 0, 1, BitmapDrawableResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    initEClass(transitionDrawableResourceEClass, TransitionDrawableResource.class, "TransitionDrawableResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getTransitionDrawableResource_From(), this.getBitmapDrawableResource(), null, "from", null, 0, 1, TransitionDrawableResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getTransitionDrawableResource_To(), this.getBitmapDrawableResource(), null, "to", null, 0, 1, TransitionDrawableResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

    // Create resource
    createResource(eNS_URI);
  }

} //AndroResDslPackageImpl
